let p = x => fst(m(x));
let q = x => snd(m(x));
